package cn.iocoder.yudao.module.system.controller.admin.erp.warehouseoutsuk.vo;

import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.dict.core.DictFrameworkUtils;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.module.infra.enums.DictTypeConstants;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 出库单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class WarehouseOutSkuRespExcelExportVO {


    @Schema(description = "客户", example = "352")
    @ExcelProperty("客户")
    private String customer;

    @Schema(description = "渠道")
    @ExcelProperty("渠道")
    private String channel;

    @Schema(description = "物流跟踪号")
    @ExcelProperty("物流跟踪号")
    private String logisticsTrackingNo;

    @Schema(description = "参考号")
    @ExcelProperty("参考号")
    private String referenceNo;

    @Schema(description = "收件人")
    @ExcelProperty("收件人")
    private String recipient;

    @Schema(description = "地址")
    @ExcelProperty("地址")
    private String address;

    @Schema(description = "sku")
    @ExcelProperty("sku")
    private String sku;

    @Schema(description = "长")
    @ExcelProperty("长")
    private String length;

    @Schema(description = "宽")
    @ExcelProperty("宽")
    private String width;

    @Schema(description = "高")
    @ExcelProperty("高")
    private String height;

    @Schema(description = "重量")
    @ExcelProperty("重量")
    private String weight;

    @Schema(description = "出库数量")
    @ExcelProperty("出库数量")
    private String num;
    @Schema(description = "库存数量")
    @ExcelProperty("库存数量")
    private String inventory;
    @Schema(description = "目的地国家")
    @ExcelProperty("目的地国家")
    private String destination;

    @Schema(description = "邮编")
    @ExcelProperty("邮编")
    private String postCode;

    @Schema(description = "下单时间")
    @ExcelProperty("下单时间")
    private LocalDateTime payOrderTime;

    @Schema(description = "出库时间")
    @ExcelProperty("出库时间")
    private LocalDateTime outWarehouseTime;

    @Schema(description = "订单状态", example = "2")
    @ExcelProperty("订单状态")
    @DictFormat(DictTypeConstants.ORDER_CHANGE_STATUS)
    private String changeStatus;

    @Schema(description = "审核状态", example = "2")
    @ExcelProperty("审核状态")
    @DictFormat(DictTypeConstants.ORDER_AUDIT_STATUS)
    private String auditStatus;

    @Schema(description = "仓库", example = "245")
    @ExcelProperty("仓库")
    private String warehouse;

    @Schema(description = "备注", example = "245")
    @ExcelProperty("备注")
    private String remake;

}